home *** CD-ROM | disk | FTP | other *** search
- var letters = new Array("B", "C", "D", "E", "G", "H", "I", "J", "L", "M", "N", "O", "P", "Q", "R", "T", "U", "V", "X", "Y", "Z")
-
- var names = new Array(
- "oneA1", "oneW1", "one1", "one2", "one3", "one4", "one5", "oneW2", "oneA2", "one6", "oneF1", "one7", "oneS1", "oneA3", "oneS2", "one8", "oneA4", "one9", "one10", "one11", "oneA5", "one12",
-
- "two1", "twoA1", "twoS1", "two2", "two3", "two4", "two5", "two6", "two7", "two8", "two9", "two10", "two11", "two12", "twoA2", "two13", "twoF1", "two14", "two15", "two16",
-
- "three1", "three2", "three3", "threeS1", "three4", "three5", "three6", "three7", "three8", "three9", "threeS2", "threeS3", "three10", "three11", "three12", "three13", "three14", "three15", "threeA1", "three16", "threeS4", "three17", "three18", "three19",
-
- "four1", "four2", "four3", "four4", "fourS1", "four5", "four6", "fourA1", "four7", "fourS2", "four8", "four9", "four10", "fourW1", "four11", "four12", "four13", "four14", "four15", "fourW2", "fourA2", "four16", "fourF1",
-
- "five1", "five2", "five3", "five4", "fiveA1", "five5", "five6", "fiveS1", "five7", "five8", "five9", "five10", "five11", "five12", "five13", "five14", "fiveA2", "five15", "five16", "five17", "five18", "five19", "five20", "five21", "five22",
-
- "six1", "six2", "six3", "sixW1", "six4", "six5", "six6", "six7", "six8", "sixW2", "sixA1", "six9", "sixF1", "sixS1", "six10", "six11", "sixA2", "six12", "six13", "six14", "six15", "six16", "sixS2",
-
- "sevenS1", "seven1", "sevenS2", "seven2", "seven3", "seven4", "seven5", "seven6", "seven7", "seven8", "sevenA1", "seven9", "seven10", "seven11", "seven12", "seven13", "seven14", "seven15", "sevenS3", "seven16", "seven17", "seven18",
-
- "eightA1", "eight1", "eight2", "eight3", "eightS1", "eight4", "eight5", "eight6", "eight7", "eight8", "eight9", "eight10", "eight11", "eightS2", "eight12", "eight13", "eight14", "eight15", "eight16", "eight17", "eightS3", "eight18", "eight19", "eightF1", "eightA2", "eight20", "eight21",
-
- "nineA1", "nine1", "nine2", "nine3", "nine4", "nine5", "nine6", "nine7", "nine8", "nineS1", "nine9", "nineS2", "nine10", "nine11", "nine12", "nine13", "nineA2", "nine14", "nine15", "nine16", "nine17", "nineA3", "nine18", "nine19",
-
- "ten1", "ten2", "ten3", "ten4", "ten5", "ten6", "tenA1", "ten7", "ten8", "ten9", "tenS1", "ten10", "ten11", "ten12", "ten13", "ten14", "ten15", "ten16", "ten17", "ten18", "tenK1",
-
- "eleven1", "eleven2", "eleven3", "elevenS1", "eleven4")
-
- var numbers = new Array(
- "25", "4", "7", "11", "14", "22", "9", "4", "25", "5", "2", "11", "17", "25", "17", "14", "25", "5", "14", "7", "25", "14",
-
- "7", "25", "17", "1", "16", "21", "16", "5", "22", "1", "10", "3", "15", "22", "25", "5", "2", "10", "22", "15",
-
- "18", "5", "22", "17", "22", "1", "14", "11", "14", "11", "17", "17", "22", "22", "1", "19", "22", "3", "25", "10", "17", "22", "11", "14",
-
- "22", "21", "11", "14", "17", "13", "5", "25", "23", "17", "14", "7", "22", "4", "7", "11", "14", "22", "9", "4", "25", "5", "2",
-
- "3", "16", "1", "14", "25", "11", "1", "17", "7", "23", "9", "5", "16", "24", "22", "1", "25", "1", "9", "7", "22", "15", "11", "10", "21",
-
- "14", "7", "22", "4", "7", "11", "14", "22", "9", "4", "25", "5", "2", "17", "24", "5", "25", "8", "11", "14", "23", "11", "17",
-
- "17", "16", "17", "14", "5", "16", "1", "24", "14", "7", "25", "14", "11", "14", "18", "10", "15", "15", "17", "14", "7", "22",
-
- "25", "14", "21", "16", "17", "18", "7", "22", "5", "22", "3", "15", "16", "17", "22", "14", "16", "14", "7", "22", "17", "10", "5", "2", "25", "3", "22",
-
- "25", "1", "9", "3", "16", "1", "9", "22", "1", "17", "22", "17", "14", "7", "22", "3", "25", "5", "19", "16", "1", "25", "1", "9",
-
- "16", "13", "23", "24", "22", "1", "25", "14", "16", "21", "17", "11", "1", "14", "7", "22", "14", "7", "11", "3", "12",
-
- "3", "5", "10", "17", "14")
-
-
- // This resets all the spaces in the puzzle back to blanks.
- function reset() {
- location = "dwarfs.html";
- }
-
-
- // This function returns an array of letter/number assignments.
- function getLetters() {
-
- // Create an array containing all the letters.
- var letter_values = new Array();
- for (loop=0; loop < letters.length; loop++) {
-
- // An array is set up for each letter ->
- // letter[letter,number]
- letter_values[loop] = new Array();
-
- // Assign the letter to 0.
- letter_values[loop][0] = letters[loop];
-
- // If this letter already has a number assigned to it
- // in the puzzle, fill it into 1 in the array.
- if (document.puzzle.eval(letters[loop]).value) {
- letter_values[loop][1] = document.puzzle.eval(letters[loop]).value;
- }
-
- // Otherwise, assign "" to 1.
- else {
- letter_values[loop][1] = "";
- }
- }
- return letter_values;
- }
-
-
- // This function returns an array of letter/number assignments.
- function getNames() {
-
- // An array containing all the names is created.
- // Each of these will also be an array.
- var name_values = new Array();
- for (loop=0; loop < names.length; loop++) {
-
- // An array is created that will contain ->
- // name[name,letter,number]
- name_values[loop] = new Array();
-
- // The name is assigned to 0.
- name_values[loop][0] = names[loop];
-
-
- // Enter the number for this position into 2.
- name_values[loop][2] = numbers[loop];
- }
- return name_values;
- }
-
-
- // This fills in the letter in every position that
- // has this number.
- function fillIn(letter,number) {
-
- var name_values = getNames();
-
- // Search the name_values array for any that are associated with this number.
- // Fill in this letter for that position on the puzzle.
- for (name_loop=0; name_loop < names.length; name_loop++) {
- if (name_values[name_loop][2] == number) {
- document.puzzle.eval(names[name_loop]).value = letter;
- }
- }
- }
-
-
- // This gets called when a new letter is entered into the puzzle.
- function checkvalue(this_value, number, name) {
-
- // Check to see if this this letter has already been
- // assigned a different number. If it has been,
- // remove the letter that was just entered into the
- // puzzle and pop-up alert.
- if ((document.puzzle.eval(this_value).value) && (document.puzzle.eval(this_value).value != number)) {
- document.puzzle.eval(name).value = "";
- alert ("You've already got the number "+ document.puzzle.eval(this_value).value + " assigned to "+ this_value);
- }
-
- // Otherwise, fill in this number under the corresponding
- // letter at the top of the puzzle.
- else {
- document.puzzle.eval(this_value).value = number;
- // Create an array containing all the letters.
- letter_values = getLetters();
- for (loop = 0; loop < letters.length; loop++) {
- if ((letter_values[loop][1] == number) && (letter_values[loop][0] != this_value)) {
- document.puzzle.eval(letter_values[loop][0]).value="";
- }
- }
- fillIn(this_value,number);
- }
-
- }
-
-
- // This gets called when a new number is entered at the top.
- function checkforchange(this_value, name) {
-
- // An array containing all the names is created.
- // Each of these will also be an array.
- name_values = getNames();
- for (loop=0; loop < names.length; loop++) {
-
- // Check to see if this name alread has a letter
- // assigned to it in the puzzle.
- if (document.puzzle.eval(names[loop]).value) {
-
- // Check to see if the letter assigned to it
- // matches the letter being checked.
- if (document.puzzle.eval(names[loop]).value == name) {
-
- // If it does match, then check whether
- // the number also matches. If it does,
- // assign this letter to 1.
- if (numbers[loop] == this_value) {
- name_values[loop][1] = name;
- }
-
- // Otherwise, "" is assigned to 1 and
- // the letter is removed from this position
- // in the puzzle. (Meaning the top over-rides
- // the bottom.)
- else {
- name_values[loop][1] = "";
- document.puzzle.eval(names[loop]).value = "";
- }
- }
-
- // Otherwise, the letter assigned to this name is not the
- // one we're checking. So we can just enter it into 1
- // and move on.
- else {
- name_values[loop][1] = document.puzzle.eval(names[loop]).value;
- }
- }
-
- // This name doesn't have a letter assigned to it in the puzzle,
- // so we can just enter "" into 1 and move on.
- else {
- name_values[loop][1] = "";
- }
- }
- // Create an array containing all the letters.
- letter_values = getLetters();
- for (loop = 0; loop < letters.length; loop++) {
- if ((letter_values[loop][1] == this_value) && (letter_values[loop][0] != name)) {
- document.puzzle.eval(letter_values[loop][0]).value="";
- }
- }
- fillIn(name,this_value);
- }
-